// #include<iostream>
// #include<cmath>
// #include<string>
// using namespace std;
// int n;
// bool check(string &s, string &t)
// {
//     int c1 = 0, c2 = 0;
//     for (auto& c : s) if (c == '*') c1++;
//     for (auto& c : t) if (c == '*') c2++;
//     return c2 > c1;
// }
// int main()
// {
//     string s, tmp;
//     cin >> n;
//     int f = 0;
//     // 找到他的第一个因子
//     for (int i = 2; i <= sqrt(n); i++)
//     {
//         if (n % i == 0)
//         {
//             f = i;
//             tmp += to_string(f) + "*";
//             break;
//         } 
//     }
//     for (int i = f + 1; i <= sqrt(n); i++)
//     {
//         if (i == 7)
//         {
//             int x = 0;
//         }
//         if (n % i == 0) 
//         {
//             if (i - f == 1)
//             {
//                 tmp += to_string(i) + "*";
//                 f = i;
//             }
//             else 
//             {
//                 if (check(s, tmp)) s.swap(tmp);
//                 tmp.clear();
//                 tmp += to_string(i) + "*";
//                 f = i;
//             }
//         }
//         if (i == sqrt(n - 1))
//         {
//             int k = 0;
//         }
//     }
//     s.pop_back();
//     cout << s << endl;
//     return 0;
// }

#include<iostream>
#include<cmath>
// zdl:: 这道题目就是一道模拟题
using namespace std;
int t;
int n;
int sum;
int pos, mlen, len;
int main()
{
    cin >> n;
    auto c = new int(sqrt(n) + 1);
    // zdl:: 先找出所有的因子
    for (int i = 2; i <= sqrt(n) + 1; i++)
    {
        if (n % i == 0) c[t++] = i;
    }
    // 现在开始情况判别
    if (!t) cout << 0 << endl;
    else if (t == 1) cout << 1 << endl << c[0];
    else{
        // 开始循环
        for (int i = 0; i < t; i++)
        {
            sum = c[i];
            len = 1;
            for (int j = i + 1; j < t; j++)
            {
                if (c[j] - c[j - 1] == 1 && n % (sum * c[j]) == 0)
                {
                    len++;
                    sum *= c[j];
                }
                else{
                    break;
                }
            }
            if (mlen < len)
            {
                mlen = len;
                pos = i;
            }
        }
    }
    cout<<mlen<<endl;//按要求输出
    cout<<c[pos];
    for(int i=pos+1; i<pos+mlen; i++)
        cout<<'*'<<c[i];
    cout<<endl;

    return 0;
}